iT邦幫忙

2026 iThome 鐵人賽

DAY 16
0

現階段就是因為要把所有的 Agent 都改一個遍,但是如果一次把所有的 Agent 都修正的話換陷入測試時不知道是誰在搞的窘境。
所以說我這個階段的目標就是一個個將他們擊潰,打頭陣的就是我們的題目庫,我已經將10題 CPE 一星題 塞進cpe_1star.json 並且確認了沒有跟原版題目過分相似以及多了 CPE 獨有的輸入輸出格式,但因為目前其他兩位 Agent 的版本還未更新所以千萬不能按出題(會報錯)。

{
    "id": "uva-100",
    "title": "The 3n + 1 problem",
    "url": "https://onlinejudge.org/external/1/100.pdf",
    "description": "### 題目摘要\n對任意正整數 $n$,若為奇數則變為 $3n + 1$,若為偶數則變為 $n / 2$。重複此過程直到 $n = 1$。過程中產生的數字總數(包含起始值與最後的 1)稱為該數的「循環長度」(Cycle Length)。\n給定整數 $i$ 與 $j$,求介於 $i$ 與 $j$ 之間(包含兩端點)所有整數中最大的循環長度。\n\n### 輸入格式\n每行輸入兩個整數 $i$ 與 $j$($0 < i, j < 10000$),持續讀入至 EOF 為止。\n\n### 輸出格式\n對每組輸入,依原順序輸出 $i$、$j$ 以及該區間內的最大循環長度,三者以單一空格分隔,每組輸出換行。\n\n### 邊界與注意事項\n1. **大小順序**:題目未保證 $i \\le j$。若 $i > j$,遍歷時需互換端點,但**輸出時仍需保持原本輸入的 $i$ 與 $j$ 順序**。\n2. **重複計算**:單一區間最多有 9999 個數字,若輸入行數很多,每行都從頭算會做大量重複運算。把算過的循環長度記下來(記憶化)可以省掉絕大部分。",
    "tests": [
      {
        "input": "1 10\n100 200\n201 210\n900 1000\n",
        "output": "1 10 20\n100 200 125\n201 210 89\n900 1000 174\n"
      },
      {
        "input": "10 1\n20 20\n1 1\n",
        "output": "10 1 20\n20 20 8\n1 1 1\n"
      },
      {
        "input": "9999 10\n999 9999\n",
        "output": "9999 10 262\n999 9999 262\n"
      },
      {
        "input": "",
        "output": ""
      }
    ],
    "skills": [
      "io-eof",
      "loop",
      "control-flow",
      "off-by-one"
    ]
  }

現階段就是如下圖:
以送出程式碼,導師先用眼睛看過一遍然後給予建議。
左邊的儀表板以及評測 Agent (現階段) 都沒有任何用處。

https://ithelp.ithome.com.tw/upload/images/20260930/20183876UMcFku5gXO.png

現階段先這樣,我們先一步一步來,單就一個 Agent 就花了我半天在修BUG = =
下一期就是繼續處理其他的部分,目標就是第二十天以內完成所有 Agent 的銜接

目前還差:

  • 儀錶板
  • 評測 Agent
  • 出題 Agent
  • 沙盒系統

而至於剩下的十天我應該就是看能不能把前端做得更精細,後端做的更完善或者是說看能不能增加一些更有意義更能夠增進蘇格拉底 AI 教師的核心功能。


上一篇
Day 15:CPE 模擬題
下一篇
Day 17:Agent & 儀錶板 改版
系列文
基於 Multi-Agent 協作之蘇格拉底式程式學習與自動化評測系統 共 17 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言